package com.hae.shop.common.constant;

/**
 * 错误码，格式为"应用代码（2位）+错误类型（2位）+业务码（4位）" 可扩展
 * 应用代码如下：公共服务-00，微信服务-01，会员服务-02，...
 * 错误类型如下：系统类-01，业务类-02
 * 业务码：从0001以此类推
 */
public enum ErrorEnum {

    HTTP_RES_CODE_200("http调用成功", "00020001"),
    HTTP_RES_CODE_500("http调用失败", "00020002"),
    SYSTEM_INNER_EXCEPTION("系统内部异常", "00020003"),
    PARAMS_VALIDATE_EXCEPTION("参数校验异常", "00020004");

    private String errorMsg;

    private String errorCode;

    ErrorEnum(String errorMsg, String errorCode) {
        this.errorMsg = errorMsg;
        this.errorCode = errorCode;
    }

    public String getErrorMsg() {
        return errorMsg;
    }

    public String getErrorCode() {
        return errorCode;
    }

    public Boolean explain(String errorCode) {
        Boolean result = false;
        ErrorEnum[] errorEnums = ErrorEnum.values();
        for (ErrorEnum e:
                errorEnums) {
            if (e.getErrorCode().equals(errorCode)) {
                result = true;
                break;
            }
        }
        return  result;
    }
}
